module.exports = (sequelize, DataTypes) => {
  const customers = sequelize.define(
    'customers',
    {
      id: {
        type: DataTypes.INTEGER(11),
        primaryKey: true,
        autoIncrement: true
      },
      customerName: {
        type: DataTypes.STRING(255),
        allowNull: false,
        field: 'customer-name'
      },
      phone: {
        type: DataTypes.STRING(255),
      },
      address: {
          type: DataTypes.STRING(255)
      },
      idcardNo: {
          type: DataTypes.STRING(255),
          allowNull: false,
          field: 'idcard-no'
      }
      // 通过references选项可以创建外键:
        // bar_id: {
        //     type: Sequelize.INTEGER,
        //     references: {
        //     // 引用另一个模型
        //     model: Bar,
        //     // 连接模型的列表
        //     key: 'id',
        //     // 强制使用外键约束，仅适用于 PostgreSQL
        //     deferrable: Sequelize.Deferrable.INITIALLY_IMMEDIATE
        //     }
        // }
    },
    {
      tableName: 'customers',
      timestamps: false,//使用事务时，出现Unknown column 'created_at' in 'field list'，原因是sequelize默认会自动为其添加 createdAt 和updatedAt column值，添加timestamp处理
    },
  )

  customers.associate = (models) => {//定义外键关联
    customers.belongsTo(
      models.electric_sale,
      {foreignKey: 'id'}
    );
  }

  return customers;
};